In mesh networks with packet transmission and created routing structure utilising directional flooding, messages are sent in smaller parts called packets. Packets contain information about their recipient and are transmitted in general mesh networks from the sender to a sequence of devices until they reach the recipient. Defining the path, i.e. deciding which devices the packets will be transmitted through, is called routing. The goal of routing is to ensure the most reliable and fastest possible delivery of the packet from the sender to the recipient. Mesh networks represent a general network topology, where connections may exist between any two devices in the network, which means that these devices may mutually communicate and transfer messages. A mesh network where a connection can be established between any two devices in the network is called a fully connected mesh network, however in practice the more common case is that some devices may establish mutual connections.
A mesh network and routing may be thought of as a network of cities interconnected by a road network, and routing as a journey of a vehicle with its cargo (a packet) from the city of a sender to a recipient. The vehicle travels from one city to another utilising the existing road network. Individual roads connecting cities represent connections between them. A journey from a starting point to an endpoint is thus divided into individual roads, which are connections in the context of general networks. There exist many different routes which the vehicle can use to transport the cargo from the city of the sender to the city of the recipient, and similarly in wireless real-world mesh networks there can exist many different routes for routing a packet from a sender to a recipient. Since general mesh networks may or may not contain a connection between any pair of devices, the number of total possible connections in a network with n devices is lower or equal to Nmax where Nmax=n*(n−1)/2. In the specific example with cities, this is the maximum number of roads in the road network between n cities.
In wireless mesh networks, devices communicate wirelessly, via radio waves. Connections between two communicating devices are thus usually limited by the range of these devices. Devices which are too far from each other cannot establish a mutual connection. Since the distances between individual devices are not usually known in advance in general wireless mesh networks, it is not clear in advance which devices may establish mutual connections, and thus routing, i.e. finding the route between the sender device to the recipient device of the packet, is a relatively difficult algorithmic problem, especially due to the number of possible routes and combinations of various connections. Various routing methods for communication in mesh networks are used in practice. These include, for instance, routing based on routing tables, often used in computer technology, flooding or random routing. Routing based on sharing and distribution of routing tables or vectors is one of the most optimal methods with respect to the efficiency of packet delivery, however this comes at the cost of substantial memory requirement of a control processor or microcontroller of communication devices, especially in large networks with many devices. Flooding an unordered network, based on distributing a packet gradually into the whole network is a solution suitable for the reliable delivery of the packet, however this is far from optimal due to the specific properties of wireless networks, which generally have low data transfer speeds and problems with media sharing (conflicts in media access and their resolution). In the example above, this approach involves traversing the whole road network in a vehicle. Random routing is used in computer technology, e.g. when the router is overloaded and may reduce packet loss, but is not suitable for wireless mesh networks for telemetry due to its low reliability.
In connected systems individual devices may have dedicated connections between them, however, wireless mesh networks share a communication spectrum. Inappropriate use of the communication spectrum and non-adherence to communication rules leads to collisions on individual communication connections, preventing efficient communication. In the road work example, this would be analogous to chaos and collisions leading to closure of many roads resulting from vehicles failing to follow rules such as which side of the road to use and which vehicle takes precedence. Various methods to prevent collision states are thus used for communication in wireless networks. The most frequently used methods involve defining rules on WHEN each device may transmit (so-called Time Division Multiplexing or Time Division Multiple Access—TDMA) and also WHERE each device may transmit, i.e. which frequencies (usually specified by a channel) may be used by each communication device. Other techniques for media/spectrum access are also used in practice. CSMA, CDMA, TDMA and TMPS are only a few examples.
TDMA is often used in practice to prevent transmission collisions due to its easy implementation and reliability. TDMA is based on the fact that in a given time interval, called a time slot, only a single specified device may transmit. A group of time slots belonging to different participants is called a frame. On our road network example, the easiest way of illustrating this approach is using traffic lights, which limit traffic on shared crossroads in time-defined intervals. Since most RF circuits today allow receiving and sending on several frequencies, many systems also utilise frequency hopping (FHSS—Frequency Hopping Spread Spectrum), where either individual bits or, more commonly, groups of bits are transmitted on different frequencies. In practice this means that they may be transmitted simultaneously, since they do not interfere with each other. This manner of communication may be illustrated in our example as having multi-lane roads between cities, where several vehicles may drive on a single road simultaneously.
As previously mentioned, a general mesh network with n communication devices allows_at most Nmax connections between communication devices, where Nmax=n*(n−1)/2, with n being the number of communication devices in the network. Since the topology of a general wireless mesh network is not known in advance, the limit case of applying collision-free flooding via TDMA would require dedicating up to Nmax time slots for individual routings to ensure reliable delivery of the packet. However, this is time-inefficient. For instance, for a commonly used speed of 19.2 kbps, the transmission of a single short packet with 24 B of data in a network with 100 communication devices would result in a frame of up to 50 seconds.
Creation of a functional layout of the wireless network using packet transmission and comprising tens, hundreds or thousands of devices is a difficult algorithmic process due to the gigantic amount of various layouts of such a network. This is further complicated for networks comprising communication devices with limited hardware resources (program and data memory) and communicating at low speeds, especially in the case of multiple-routing, i.e. the transfer of messages from one device to another. One system addresses the problem by creation of a functional arrangement of a generic wireless mesh network and routing in the network as described in US Patent Application 2012/0163234 filed Jun. 28, 2012, and ensures reliable and efficient delivery of messages. However, as the number of devices connected to the network grows, so grows the response time when communication with several devices is required, e.g. in case of request for acknowledgement of messages intended for a group of devices or all devices.
Wireless mesh networks are becoming increasingly popular for telemetry and automation as well as for many other applications. The areas of telemetric Automated Meter Reading (AMR), control of public lighting (Street Lighting) or distribution monitoring are good examples. These cases deploy networks with hundreds or thousands of devices and speed of data collection from the individual devices or acknowledgement of the individual devices to a superior system are therefore an important technical parameter in networks with slow transfer speeds.